Concurrent Search Tree by Lazy Splaying
نویسندگان
چکیده
In many search tree (maps) applications the distribution of items accesses is non-uniform, with some popular items accessed more frequently than others. Traditional self-adjusting tree algorithms adapt to the access pattern, but are not suitable for a concurrent setting since they constantly move items to the tree’s root, turning the root into a sequential hot spot. Here we present lazy splaying, a new search tree algorithm that moves frequently accessed items close to the root without making the root a bottleneck. Lazy splaying is fast and highly scalable making at most one local adjustment to the tree on each access. It can be combined with other sequential or concurrent search tree algorithms. In the experimental evaluation we integrated lazy splaying into Bronson et. al.’s optimistic search tree implementation to get a concurrent highly scalable search tree, and show that it significantly improves performance on realistic non-uniform access patterns, while only slightly degrading performance for uniform accesses.
منابع مشابه
Trade-off Analysis of Crosscutting Functionalities using Lazy Counting-based Splay Tree in Aspect Oriented Programming
Aspect Oriented Programming (AOP) provides new modularization of software systems through encapsulation of crosscutting functionalities, providing a clear isolation and utilization thereof. The trade-offs are typically a consequence of technical contradictions in requirements. We employ a data structure called a lazy counting based splay tree to analyze the trade-off between the conflicting qua...
متن کاملA Contention-Friendly Binary Search Tree
This paper proposes a new lock-based concurrent binary tree using a methodology for writing concurrent data structures. This methodology limits the high contention induced by today’s multicore environments to come up with efficient alternatives to the most widely used search structures. Data structures are generally constrained to guarantee a big-oh step complexity even in the presence of concu...
متن کاملAn Explanation of Splaying
Just as in bottom-up splaying, the idea is to follow each access by a restructuring of the search tree along the path from the accessed item to the root of the tree. The restructuring is done in a local fashion, i.e., without using information about the global structure of the tree. We call the restructuring algorithm the super̈ isor; it operates with a set of rules called the ruleset. Each unit...
متن کاملSelf-adjusting trees in practice for large text collections
Splay and randomized search trees (RSTs) are self-balancing binary tree structures with little or no space overhead compared to a standard binary search tree (BST). Both trees are intended for use in applications where node accesses are skewed, for example in gathering the distinct words in a large text collection for index construction. We investigate the efficiency of these trees for such voc...
متن کاملA Fast Contention-Friendly Binary Search Tree
This paper presents a fast concurrent binary search tree algorithm. To achieve high performance under contention, the algorithm divides update operations within an eager abstract access that returns rapidly for efficiency reason and a lazy structural adaptation that may be postponed to diminish contention. To achieve high performance under read-only workloads, it features a rebalancing mechanis...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011